package com.jiashihui.server1.test.lambda;

/**
 * @author jiashihui
 * @describe: TODO
 * @date 2019/02/15
 *
 * Java 8 新增了接口的默认方法。简单说，默认方法就是接口可以有实现方法，而且不需要实现类去实现其方法。
 * （当一个子类中没有覆盖缺省方法时，则对子类的该方法的调用将调用接口中的实现。）
 * Java 8 的另一个特性是接口可以声明（并且可以提供实现）静态方法
 */
public class Java8DefaultFun {
    public static void main(String args[]) {
        Vehicle vehicle = new Car();
        vehicle.print();
    }
}

interface Vehicle {
    default void print() {
        System.out.println("我是一辆车!");
    }

    static void blowHorn() {
        System.out.println("按喇叭!!!");
    }
}

interface FourWheeler {
    default void print() {
        System.out.println("我是一辆四轮车!");
    }
}

class Car implements Vehicle {
//    @Override
//    public void print() {
//        Vehicle.super.print();
//        FourWheeler.super.print();
//        Vehicle.blowHorn();
//        System.out.println("我是一辆汽车!");
//    }
}
